package org.dromara.sms4j;

import org.dromara.sms4j.api.universal.SupplierConfig;
import org.dromara.sms4j.huawei.config.HuaweiConfig;
import org.dromara.sms4j.javase.config.SEInitializer;
import org.dromara.sms4j.provider.config.SmsConfig;
import org.dromara.sms4j.test.Test;
import org.dromara.sms4j.unisms.config.UniConfig;
import sms4j.dao.MySmsDao;
import sms4j.local.LocalConfig;
import sms4j.local.LocalFactory;

import java.util.ArrayList;
import java.util.List;

public class SESms4jTestByBean {

    public static void main(String[] args) {
        loadByBean();
        Test test = new Test();
        test.doTest();
    }

    public static void loadByBean(){
        // 全局基础配置
        SmsConfig smsConfig = new SmsConfig();
        // 账户级上限
        smsConfig.setAccountMax(4);
        // 服务商1
        List<SupplierConfig> blends = new ArrayList<SupplierConfig>();
        UniConfig config = new UniConfig();
        //你的参数
        blends.add(config);
        // 服务商2
        HuaweiConfig huaweiConfig = new HuaweiConfig();
        //你的参数
        blends.add(huaweiConfig);
        // 服务商3
        LocalConfig localConfig = new LocalConfig();
        localConfig.setMaximum(6);
        blends.add(localConfig);
        // 自定义服务商
        LocalFactory localFactory = new LocalFactory();
        // 这是第一种自定义服务商注入的方法 注册服务商->加载配置的Bean->使用，这个顺序不可以改变
        SEInitializer.initializer().registerFactory(localFactory).registerSmsDao(new MySmsDao()).fromConfig(smsConfig, blends);
    }

}
